

// 03-31-08steve
0.1.7
1. use EXIF date/time instead of TIFF date/time



// 03-28-08steve
0.1.6
1. added more debug messages to NSLog

NSDate* GetInternalPictureCaptureDate ( NSString *tempImagePath, bool doOverwrite )




// 03-27-08steve
// 0.1.5
1. read comma delimited barcodeData file as well as tab delimited file
2. added preferences to support this new method (for hs photo)



// 03-04-08steve
// 0.1.4

3. changed member variable selectedImage to fSelectedImage

4. change to version 0.1.4 and copyright @2008-2007

5. fix memory leak when in the imageView
- (void)setSelectedImage:(NSString*)imagePath
		// 03-04-08steve [[[NSImage  alloc] initWithContentsOfFile:imagePath] retain];	// 03-04-08steve
		fSelectedImage = [[NSImage  alloc] initWithContentsOfFile:imagePath];	// 03-04-08steve - DONT retain




// 03-04-08steve
// gave version to todd to send to hs photo 0.1.3

1. try to fix hsphoto issue with skipping images
there may have been a leak
BOOL IsValidImageObject ( NSString* objectPath )
	NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];	// 03-04-08steve
	if ( pool ) [pool release];	// 03-04-08steve

2. echo to the log os version and app version
- (void)applicationWillFinishLaunching:(NSNotification *)aNotification



// give better messaging as to why IsValidImageObject returned false
BOOL IsValidImageObject ( NSString* objectPath )
	// 03-03-08steve
	if ( objectPath==nil )
	{
		myPrintfDebug ( "IsValidImageObject => Passed a nil objectPath!!\n" );	// 03-03-08steve
		NSLog ( @"IsValidImageObject => Passed a nil objectPath!!" );	// 03-03-08steve
		return false; // 03-03-08steve
	}

	NSImage* tempImage = [[NSImage alloc] initWithContentsOfFile : objectPath ];
	if ( tempImage )
	{
		isValidImage = [tempImage isValid];
		[tempImage release];
	}
	else
	{
		myPrintfDebug ( "IsValidImageObject => Failed to alloc NSImage?????\n" );	// 03-03-08steve
		NSLog ( @"IsValidImageObject => Failed to alloc NSImage for objectPath = [%@]?????", objectPath );	// 03-03-08steve
	}


void doTestAENew ( void)
	return; // 03-03-08steve



- (void)applicationWillFinishLaunching:(NSNotification *)aNotification
	/* 03-03-08steve - REMOVE TESTs
	// 08-31-07 setup dummy test for access io products
	// setupAccessLoader ();
	fAccessIOHandler = new (AccessIOHandler);
	if ( fAccessIOHandler )
	{
		myPrintfDebug ( "CREATED AccessIOHandler* myAccessIOHandler!!!\n" );
		fAccessIONSTimer = [NSTimer scheduledTimerWithTimeInterval: 0.50 target: self selector:@selector(doAccessIOIdle:) userInfo:nil repeats:YES];
	}
	*/




the slab usb driver only works on ppc NOT for intel...
"SLAB_USBtoUART" = name of port to open if the SLAB_USB Driver works!!!!




To pair up correctly for the first time

1. need to set pdx device to SLAVE mode
2. enter the bluetooth interface ID (id of the usb/bluetooth or cpu's bluetooth address)
3. enter the PAIRing Code into the pdx device
4. goto apple bluetooth pref and discover the "ZEBEX"
5. then wait for zebex device to become connected
6. wait for the cpu to ask for the PAIRing Code

7. then set the zebex device to MASTER Mode
    return to main menu
8. Run Teps-Barcode - click connect
     this opens up the bluetooth port
9. on the pdx device- click the "^" arrow to start the pdx in bluetooth mode
10. wait for the GREEN Light






	// 08-17-07 test appleEvents
// 08-31-07 test apple events
// add test code for the access loader stuff just to see if it works or not


// 1.0.3 next version????

// 07-27-07 

// make sure we are USING the user set prefs for the skew values
// added + (int)getBarcodeMatchSkewSeconds
		int kTimeSkew	= [GeneralPreferencesController getBarcodeMatchSkewSeconds];	// 07-27-07 // 2; // the two times are not exactly the same, assume a minimum number of seconds 

// Added Formatter for the skewValue field
	0-5 is the valid range

// cleaned up unused keys from  factoryDefaults.plist


// 07-27-07
remove the debugging test button from the main window

used this version to test the adm magstripe reader version
added the test button for debugging



still need to solve problem with ƒƒƒ characters

alan says to use FSGetCatalogInfo - use that for teps-x
NSDate => 1904
unix => 1970 (signed)


next version v0.1.2

// 07-07-07
allow user to abort matching process after the process has matched
this will prevent teps from copying renumbering the images for no reason - since user probably wanted to do
the match process over - by taking the sync photo or something...

added button in the photo window
- (IBAction)ibReturnToTepsx:(id)sender;	// 07-07-07
		// 07-07-07	fCurJobCheckListPtr->curTask = fCurJobCheckListPtr->nextTask;
		fCurJobCheckListPtr->curTask = eTepsBarcodeTask_PrepareForConnection;	// 07-07-07

- (void) matchBarcodeDataWithPhotos : (id) sender
	bool	userDidAbort	= false;	// 07-07-07
				else if ( result==3)
				{
					// 07-07-07 added to force return to teps-x
					doneLoop = true;
					didSucceed = false;
					userDidAbort = true;
				}
		// 07-07-07 check for userAbort at this stage after matching did occur
		if ( userDidAbort )
		{
			myPrintf ( "\nUser Aborted - Sending Event kTepsBarcodeEventID_userAbort to Teps-X..." );
			mySendDataBurnAppleEvent ( kTargetAppOSType, kTepsBarcodeEventID_userAbort );
			fCurJobCheckListPtr->nextTask = eTepsBarcodeTask_ReturnToTepsx;
		}


// fix problem where we declared another variable when there was one in the previous scope
- (void)doPrepareForConnectionInAThread:(id)sender
			// 07-07-07 bool doConnect	= false;	// 07-06-07
			doConnect = false;	// 07-07-07 use above scope - dont declare another one


// give error if nil source path passed
- (BOOL)application:(NSApplication *)theApplication openFile:(NSString *)filename




// 07-06-07
released as v0.1.1

// 07-06-07
- (void) setStatusViewText:(NSString*) theMesg;		// 07-06-07
NSDate* GetAndUpdateFileCreationDate ( NSString *tempImagePath, bool doOverwrite = true );	// 07-06-07





// 07-05-07
try to make the building of the BarcodeImageList be Threaded






// alan to fix issue with wrong camera date???
// 07-02-07
			NSDate* zeroDate2 = [NSDate dateWithString : @"1970-01-01 00:00:00 +0000" ];	// 07-02-07
							if ( [fileCreationDate isEqualToDate: zeroDate2] )

// 07-2-07
alan fixed issue with date/time in the year 2099 issues...



// 7-1-07
alan to fix issue with duplicate sync-scan-barcode/image combo
in the past - if the post-duplicate is dropped
for the sync-card value - the pre-duplicate needs to be dropped


// 06-30-07
fix issue with the "dropped" barcodes during the upload
if there was a zero-checksum - the last digit was being dropped out
try to fix issue when checksum after the barcode data is ZERO
bool pdxProDevice::GetUploadDataFromPDXCmd( ePdxFormFileNum theFormNum, UInt8* theData )





// 06-29-07



use TepsBarcode_Prefix.pch for the debug build configuration

//  this fixes the crash problem
		fDefaultNSStringEncoding = NSUTF8StringEncoding;	// NSMacOSRomanStringEncoding;	// 05-23-07

separate the preference into two tabbed views
	general
	advanced






06-21-07
// tried to make the image scalable in the edit barcode window
// 	// 06-21-07
- (void)setSelectedImage:(NSString*)imagePath





// 05-25-07
// 1. make the revert button work in the re-assignment of the barcodes
	added code from alan to make this fix
				// [imageSortView setNeedsDisplay: true];	// 05-25-07 draws better - but lose functionality of save and dont save buttons??
				[imageSortWindow close];	// 5-25-07 it seems we need this - otherwise it doesnt redraw the view all the all them
											// or i will lose functionality the use of the save and dont save buttons


// 5-24-07
1. make it more localizable


// 05-23-07
1. try to make the app more localizable



// 05-23-07
1. added the "revert" button to the modal dialog and recognized by
	- (IBAction)ibRevertHit:(id)sender
HOWEVER - canNOT make it reload the list back to the original list
HOW to clear the view first???


// 05-22-07
1. try to re-do some of the alerts so that they can be changed by changing myAlertsResource.strings
	make it possible for future interNationlization for other languages
	created myNSRunAlertPanel



// 05-22-07
version 0.0.9test
1. changed some wordings after working with todd


// 5-21-07

1. try to add code for the imageView - but did NOT include them in target at time of build
2. got code from alan that focuses the correct view 
- (BOOL) outlineView: (NSOutlineView *) outlineView writeItems: (NSArray *) items toPasteboard: (NSPasteboard *) pboard
- (BOOL)outlineView:(NSOutlineView*)outlineView acceptDrop:(id <NSDraggingInfo>)info item:(id)targetItem childIndex:(int)childIndex



// 5-18-07

// merged with alan's code for displaying a window to allow user to re-assign barcode ids and photos
// added barcode.h and barcode.mm

// added preference to allow user to re-assign or not
+ (bool)getDoAllowUserToModifyData;	// 5-18-07






// 5-18-07
// if nsalert is needed during deletion process - then we need to bring tepsBarcode to the front
// if in connection or download data - the barcode app must come to the front
- (void)pdxMakeConnection:(id)sender
{
	[NSApp activateIgnoringOtherApps:true];	// 5-18-07	bring tepsBarCode app to the front

- (void)pdxDownloadData:(id)sender
{
	[NSApp activateIgnoringOtherApps:true];	// 5-18-07	bring tepsBarCode app to the front




// 0.0.7 to serge

// 5-17-07
// move doCheckIfBarcodeDataFileExisted to openFile method instead of the pdxConnection method
// change order of the default buttons for nsalert if barcode file exists

// 	bool	doPromptInFront	= false;	// true;	// 05-17-07



// 5-16-07
allow blank IDs to continue
bool pdxProDevice::GetSystemInfoCmd()
					// 05-16-07
					if ( strlen((char*)fUnitID)==0 )
					{
						memcpy ( fUnitID, "177?????",8 );
					}

- (void)pdxMakeConnection:(id)sender
				// 05-16-07
				if ( strlen(fBarCodeID)==0 ) 
				{
					strcpy ( fBarCodeID, "177?????" );
				}




// 05-11-07

use cocoa bindings to do the preferences
	[GeneralPreferencesController setupDefaults];





// 05-06-07








// added carbon.framework
// added ae-event to teps-x
// got the disclosure to work better
// improved bluetooth wait time for connectivity



05-01-07
got new file from alan
